properties:
  argocd:
    type: object
    default: {}
    description: "Конфигурация Argo CD."
    properties:
      admin:
        type: object
        default: {}
        properties:
          enabled:
            type: boolean
            default: false
            description: |
              Флаг управляет включением пользователя `admin`.

              Он может понадобиться, если в кластере не используется Dex или если нужно настроить доступ в CLI утилитой `argocd` (читайте подробнее в разделе [Примеры](usage.html)).
  storageClass:
    description: |
      Имя StorageClass'а, который предполагается использовать.

      Если не указано — используется StorageClass существующей PVC, а если PVC пока нет — используется или [глобальный StorageClass](../../deckhouse-configure-global.html#parameters-storageclass), или `global.discovery.defaultStorageClass`, а если и их нет — данные сохраняются в emptyDir.

      **ОСТОРОЖНО!** При указании этой опции в значение, отличное от текущего (из существующей PVC), диск будет перезаказан, а все данные удалены.

      Если указать `false` — будет форсироваться использование emptyDir'а.
  https:
    description: |
      Тип сертификата, используемого для веб-приложения Argo CD.

      При использовании этого параметра полностью переопределяются глобальные настройки `global.modules.https`.
    properties:
      mode:
        description: |
          Режим работы HTTPS:
          - `Disabled` — веб-интерфейс Argo CD будет работать только по HTTP;
          - `CertManager` — веб-интерфейс Argo CD будет работать по HTTPS и заказывать сертификат с помощью ClusterIssuer, заданного в параметре `certManager.clusterIssuerName`;
          - `CustomCertificate` — веб-интерфейс Argo CD будет работать по HTTPS, используя сертификат из namespace `d8-system`;
          - `OnlyInURI` — веб-интерфейс Argo CD будет работать по HTTP (подразумевая, что перед ним стоит внешний балансировщик, который терминирует HTTPS) и все ссылки в [user-authn](../../modules/150-user-authn/) будут генерироваться с HTTPS-схемой. Балансировщик должен обеспечивать перенаправление с HTTP на HTTPS.
      certManager:
        properties:
          clusterIssuerName:
            description: |
              ClusterIssuer, используемый для Argo CD.

              Доступны `letsencrypt`, `letsencrypt-staging`, `selfsigned`, но вы можете определить свои.
      customCertificate:
        properties:
          secretName:
            description: |
              Имя Secret'а в namespace `d8-system`, который будет использоваться для Argo CD.

              Secret должен быть в формате [kubernetes.io/tls](https://kubernetes.github.io/ingress-nginx/user-guide/tls/#tls-secrets).
  nodeSelector:
    description: |
      Структура, аналогичная `spec.nodeSelector` пода Kubernetes.

      Если ничего не указано или указано `false`, будет [использоваться автоматика](../../#выделение-узлов-под-определенный-вид-нагрузки).
  tolerations:
    description: |
      Структура, аналогичная `spec.tolerations` пода Kubernetes.

      Если ничего не указано или указано `false`, будет [использоваться автоматика](../../#выделение-узлов-под-определенный-вид-нагрузки).
